Portable electronic devices such as MP3 players, cameras, and cell phones are typically fitted with a USB port, which allows them to transfer data to or from other controllers or hosts. Using these USB ports, portable devices may conveniently draw current from personal computers to charge their batteries. In light of this convenience, engineers have developed standalone or dedicated USB chargers that expose a USB standard receptacle to portable devices, allowing them to use the same USB port to charge either from a computer or a dedicated USB charger.
The advent of USB chargers, however, has increased charging complexity. Now, different types of USB charging ports are available, such as standard USB ports, charging downstream ports, and dedicated charging ports. Because different charging ports have different electrical characteristics, portable devices must identify the port type before they can begin drawing current. But, ascertaining the type of port can become difficult as different portable devices may utilize different connection protocols.
To overcome this difficulty, the USB Battery Charging Working Group has introduced a Battery Charging Specification (BCS), which describes a charging port detection handshake protocol, allowing BCS-compatible devices to detect the USB port type before drawing current. Though this protocol allows compatible devices to charge, the handshake introduces a problem for non-compliant legacy devices. Legacy products do not follow the BCS protocol; therefore, when these devices are connected to a personal computer or USB charger, they may not be able to detect the port type. Moreover, because legacy devices cannot identify the port type, they may draw minimal current (80-100 mA) from the charging port or no current at all.
Other solutions attempt to test certain specific detection protocols without identifying the type of USB port. These techniques, however, require complete prior knowledge of the attached portable device. Alternatively, a host controller is required to configure the portable device to test certain specific protocols. To accomplish this configuration, the host controller first detects portable device attachment and then monitors the detection protocol used by the portable device to determine whether the protocol is successfully implemented. Thus, the host controller plays an active part during the entire process.
Therefore, there remains a long-felt but unresolved need for a system or method for charging any arbitrary portable device without requiring host intervention, or any knowledge of the specifics of the portable device.